#include"progress.h"

const char *str="|/-\\";

//版本1
void progress_v1()
{
    int rate=0;
    char bar[SIZE];
    memset(bar,'\0',sizeof(bar));
    int num=strlen(str);
    while(rate<=MAX_RATE)
    {
        printf("[%-100s][%d%%][%c]\r",bar,rate,str[rate%num]);
        fflush(stdout);
        usleep(STIME);
        bar[rate++]=STYLE;
    }
    printf("\n");
}

//版本2
    //不允许一次性将进度条打印完毕，必须与实际场景结合才有意义
    //应该根据rate只自动打印一次
void progress_v2(int rate)
{
    static char bar[SIZE]={0};
    int num=strlen(str);
    if(rate <= MAX_RATE && rate >= 0)
    {
        printf("[%-100s][%d%%][%c]\r",bar,rate,str[rate%num]);
        fflush(stdout);
        bar[rate]=STYLE;
    }
}
